<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>Document</title>
    <script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>
</head>
<body>
    <div id="app">
        <!-- 父组件，可以在引用子组件的时候，通过 属性绑定(v-bind)的形式，把需要传递给子组件中的数据，以属性绑定的形式，传递到子组件内部，供子组件使用 -->
        <com1 :parentmsg="msg"></com1>
    </div>

    <script>
        var vm = new Vue({
            el: '#app',
            data: {
                msg: '123 -父组件中的数据'
            },
            methods: {},
            components: {
                // 默认情况下 子组件中 无法访问到父组件中data上的数据和methods中的方法
                com1: {
                    props: ['parentmsg'], //把父组件传递过来的parentmsg属性，先在props数组中，定义一下，这样，才能使用这个数据
                    template: '<h1>这是子组件----{{parentmsg}}</h1>',
                    data() { // 注意：子组件中的data数据，并不是通过父组件 传递过来的，而是子组件自身私有的，比如：子组件通过Ajax，请求回来的数据，都可以放到data身上
                    // props中的数据都是只读的，data中的数据可读可写
                        return {
                            title: '123'
                        }
                    }
                }
            }
        })
    </script>
</body>
</html>